package core.log
{
import core.module.IModuleManager;

import quest.IQuestManager;

import tracking.ITracker;

public class GameLogger
{
	private static var quester:IQuestManager;
	
	public static function setQuestManager(value:IQuestManager):void
	{
		quester = value;
	}
    
    private static var tracker:ITracker;
    
    public static function setTrackingManager(value:ITracker):void
    {
        tracker = value;
    }
	
	private static var moduler : IModuleManager;
	
	public static function setModuleManager ( value : IModuleManager ) : void {
		moduler = value;
	}
	
	public static function log(type:String, ...args):void
	{
		quester && quester.checkGameAction.apply(quester,  [ type ].concat(args));
        
        tracker && tracker.call.apply(tracker, [ type ].concat(args));
		
		moduler && moduler.checkGameAction.apply(moduler,[ type ].concat(args));
	}
}
}